『プログラミング in OCaml』
https://gyazo.com/618597c6d65216da15e1161096e7d1bc
2007/11/29
第1章 はじめに
1.1 この本の読み方
1.2 準備
1.4 OCamlの特徴
1.5 OCamlの歴史
第2章 いろいろな式を評価してみよう
2.1 対話式コンパイラ
2.2 基本データ型とその演算
2.3 変数束縛による定義
第3章 関数型言語の醍醐味:関数
3.1 簡単な関数の定義
3.2 条件分岐と真偽値型bool
3.3 局所的変数束縛とlet式
3.4 構造のためのデータ型:組
3.5 再帰関数
3.6 高階関数
第4章 少ない手間で型付けをする:多相性と型推論
4.1 多相的関数とパラメトリック多相
4.2 型推論とlet多相
4.3 Case Study:コンビネータ
4.4 練習問題
第5章 再帰的多相的データ構造:リスト
5.1 リストの構成法
5.2 リストの要素へのアクセス:match 式とリストパターン
5.3 リストを操作するさまざまな関数
5.4 Case Study:整列アルゴリズム
5.5 練習問題
第6章 データ構造をデザインする:レコードとヴァリアント
6.1 レコード
6.2 ヴァリアント
6.3 ヴァリアントの応用
6.4 Case Study:二分木
6.5 Case Study:無限列
6.6 練習問題
第7章 例外処理
7.1 オプション型による例外処理
7.2 raise式とtry式による例外処理
7.3 exception宣言とexn型
7.4 練習問題
第8章 書き換え可能なデータ構造と入出力を使った命令型プログラム
8.1 unit型
8.2 書き換え可能なデータ構造
8.3 制御構造
8.4 Case Study:参照を使ったデータ構造ーーキュー
8.5 チャネルを使った入出力
8.6 練習問題
第9章 モジュールによるプログラムの構造化
9.1 ライブラリ・モジュールの使い方
9.2 モジュール定義
9.3 シグネチャを使った情報隠蔽と抽象データ型
9.4 練習問題
第10章 バッチコンパイラと分割コンパイル
10.1 バッチコンパイラによる実行可能ファイルの作成
10.2 モジュール単位の分割コンパイル
10.3 システム周りの関数・モジュール
10.4 その他
10.5 練習問題
第11章 モジュール関数:ファンクター
11.1 ライブラリモジュールのファンクターとファンクター適用
11.2 ファンクター定義
11.3 ファンクターと情報隠蔽
11.4 複数の引数をとるファンクター
11.5 練習問題
第12章 OCamlの“O”:オブジェクト
12.1 単純なクラス
12.2 自分自身のメソッドを呼び出す
12.3 継承によるクラスの拡張
12.4 オブジェクトのための型付け
12.5 より高度なクラス機能・型
12.6 練習問題
第13章 ラベル付き引数とオプション引数
13.1 ラベル付き関数を使う
13.2 ラベル付き引数詳説
13.3 オプション引数
13.4 まとめ
第14章 多相ヴァリアント
14.1 多相ヴァリアントの基本
14.2 関数定義の拡張
14.3 再帰的関数と多相ヴァリアント
14.4 その他
14.5 練習問題
第15章 GUI ライブラリ:LablTk
15.1 「銀行窓口」を作ってみる
15.2 ウィジェットの紹介
15.3 ウィジェットの配置:Tk.pack関数とPackモジュール
15.4 イベント処理の割り当て:bind
15.5 その他
15.6 練習問題
第16章 Case Study:お絵かきロジック
16.1 お絵かきロジックとは?
16.2 プログラム解説
16.3 まとめ
あとがき
APPENDIX:A OCaml処理系などのインストール
A.1 Windows環境へのインストール
A.2 Linux環境へのインストール
APPENDIX:B OCaml Browserの使い方
B.1 エディタの起動法・使い方
B.2 シェル(コンパイラ窓)の使い方
B.3 ライブラリブラウザの使い方
APPENDIX:C ocaml-modeの設定・使い方
C.1 プログラム編集のためのコマンド
C.2 シェルバッファでのコマンド